home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************
- ** $Id: qt/index.doc 3.0.3 edited Oct 12 12:18 $
- ** Index page
- ** Copyright (C) 1995-1997 by Trolltech AS. All rights reserved.
- *****************************************************************************/
- #if defined(QT_DEBUG)
- static char ident[] = "$Id: qt/index.doc 3.0.3 edited Oct 12 12:18 $";
- #endif
- /*! \page nsplugin.html
- \title Qt-based LiveConnect Plugins
- The Qt-based Netscape Plugin software makes it easy to write
- plugins
- such that they can be used on both Unix/Linux and Windows/95/NT,
- in Netscape and Internet Explorer, and any other
- web browser supporting the same protocol.
- \section1 How-to
- <li>Download the
- \link http://home.netscape.com/comprod/development_partners/plugin_api/index.html
- Plugin SDK from Netscape \endlink, and copy the following files from there to
- <tt>$QTDIR/extensions/nsplugin/src</tt> :
- <multicol cols=2>
- <ul>
- <li>common/npwin.cpp
- <li>common/npunix.c
- <li>include/npapi.h
- <li>include/npupp.h
- <li>include/jri.h
- <li>include/jri_md.h
- <li>include/jritypes.h
- </ul>
- </multicol>
- <li>Build the Netscape Plugin extension library, found in the
- <tt>extensions/nsplugin/src</tt> directory of your Qt distribution.
- This produces a static library to be linked with your plugin code.
- <li>Read the \link annotated.html plugin class documentation \endlink, and
- examine the \link nsplugin-examples.html example plugins \endlink.
- <li>Do most of your development as a stand-alone Qt application - debugging
- Netscape Plugins is cumbersome. You may want to use <tt>signal(2)</tt>
- in your plugin to enable core-dumps if your browser disables them.
- <li>Note the platform-specific build steps below.
- <li>Read about the raw plugin interface
- \link http://developer.netscape.com/docs/manuals/communicator/plugin/index.htm
- in Netscape's handbook. \endlink
- <li>If files viewed by a plugin are provided by an HTTP server
- (using a <tt>http://...</tt> URL) then
- the server must be configured to send the correct MIME type
- for the file, such as by editing the <tt>mime.types</tt> file
- of Apache. If the files are viewed via a <tt>file://...</tt>
- URL, then the browser will use the filename extension to decide
- the file type (and hence the plugin to load) - the user may need
- to set the filename extension in the Helpers or Applications
- section of their browser preferences.
- </ol>
- We are working on streamlining the build process for Qt-based Netscape Plugins.
- \section2 Building under X11
- <li>The Makefiles in the examples are appropriate for UNIX/X11.
- <li>The user must install the resulting Shared Object in the Plugins
- directory of the browser.
- </ul>
- \section2 Building under Windows
- <li>Qt needs to be built as a static library when building Netscape plugins, we are
- looking into the problem of making it work with Qt as a dynamic library.
- <li>Plugins must be named <tt>np</tt><i>name</i><tt>.dll</tt>,
- or the browser will ignore them.
- <li>The link step must include:
- <ul>
- <li><tt>/def:</tt><i>name</i><tt>.def</tt>
- <li><tt>/dll</tt>
- <li>a compiled resource file defining the
- file/MIME types accepted by the plugin.
- </ul>
- <li>The user must install the resulting DLL in the Plugins directory
- of the browser.
- </ul>
- \section1 Known Bugs
- The Qt-based LiveConnect Plugin binding code has a number of
- minor bugs, but is sufficiently stable for most production applications.
- <li> MSIE 4.0 support is poor.
- <li> Crashes on X11 if window is closed via window manager.
- <li> Keyboard problems on Windows.
- </ul>
-